package com.petecat.interchan.base.param.service;

import com.petecat.interchan.base.param.entity.BsProperties;
import com.petecat.interchan.core.service.BaseService;
import com.petecat.interchan.protocol.base.param.dto.BsPropertiesAddDTO;
import com.petecat.interchan.protocol.base.param.dto.BsPropertiesQryDTO;
import com.petecat.interchan.protocol.base.param.dto.BsPropertiesUpdDTO;
import com.petecat.interchan.protocol.base.param.vo.BsPropertiesQryVO;
import com.petecat.interchan.protocol.data.PageVO;

public interface IParamService extends BaseService<BsProperties, String>{
	
	/**
	 * 修改参数配置基本信息
	 * @param bsPropertiesUpdDTO
	 * @param userId
	 */
	void modifyParamById(BsPropertiesUpdDTO bsPropertiesUpdDTO, String userId);
	
	/**
	 * 删除参数配置基本信息
	 * @param projectId
	 * @param state
	 */
	void deleteParamById(String paramId,String projectId, String state);
	
	/**
	 * 新增参数配置基本信息
	 * @param bsPropertiesAddDTO
	 * @param userId
	 */
	void saveParam(BsPropertiesAddDTO bsPropertiesAddDTO, String userId);
	
	/**
	 * 分页查询参数配置信息
	 * @param bsPropertiesQryDTO
	 * @return
	 */
	PageVO<BsPropertiesQryVO> queryParamByPage(BsPropertiesQryDTO bsPropertiesQryDTO);
	
	/**
	 * 删除参数配置
	 * @param paramId
	 */
	void removeParamById(String paramId);
	
	/**
	 * 通过项目ID和用户ID查询正在启用的配置信息
	 * @return
	 */
	BsPropertiesQryVO getParamByProjectIdAndUserId(String projectId,String userId);
	
	
}
